package com.demo.config;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import com.rule.DiyRule;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestOperations;
import org.springframework.web.client.RestTemplate;

/**
 * @author chenyuan
 * @date 2020/9/29 10:30
 */
@Configuration
public class BeanConfig {
    /**通过 Http 请求提供者的服务
     * 把 RestTemplate 注册到 Spring 中
     * 需要什么就返回什么
     * 这里需要注册 RestTemplate 那么就把它返回
     * @return
     */
    @Bean
    /**
     * 配置 负载均衡实现 RestTemplate
     */
    @LoadBalanced
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
    @Bean
    public IRule customize(){
        // 先使用已经实现的策略——随机
        return new RandomRule();
    }

}
